import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# 示例数据：假设有3辆车，5个时间步，位置是随机生成的。
A = 3  # 车辆数量
T = 5  # 时间步长

# 假设车辆的位置数据如下 (格式为 [A, T, 2]，其中 2 是经纬度/坐标)
agent_positions = np.random.rand(A, T, 2)  # 生成随机位置数据，取值范围在[0, 1]

# 1. 将所有车辆在不同时间的位置信息提取出来（即提取所有的经纬度数据）
all_positions = agent_positions.reshape(-1, 2)  # 合并所有车辆的位置信息

# 2. 绘制热力图
# 这里我们使用 seaborn 或 matplotlib 来绘制位置的密度热力图
# 为了可视化，假设坐标范围在 [0, 1]，并将其离散化到一个 50x50 的网格中

plt.figure(figsize=(8, 6))
sns.kdeplot(x=all_positions[:, 0], y=all_positions[:, 1], cmap="Blues", fill=True, thresh=0, levels=30)
plt.title("Vehicle Spatial Probability Distribution (Heatmap)")
plt.xlabel("X Coordinate")
plt.ylabel("Y Coordinate")
plt.show()
